Loading [MathJax]/jax/output/CommonHTML/jax.js

Feature Scaling (Normalization, Standardization)

Machine Learning - মেশিন লার্নিং (Machine Learning) Data Preprocessing এবং Feature Engineering |
188
188

ফিচার স্কেলিং হল একটি গুরুত্বপূর্ণ প্রক্রিয়া যা মেশিন লার্নিং মডেলগুলির জন্য প্রাসঙ্গিক ডেটা প্রসেসিং স্টেপ। এটি ডেটার ফিচারগুলির মধ্যে স্কেল বা পরিসরের পার্থক্য দূর করার জন্য ব্যবহৃত হয়, যাতে মডেলটি সঠিকভাবে কাজ করতে পারে। বিশেষত, বিভিন্ন মডেল যেমন লিনিয়ার রিগ্রেশন, কন্টিনিউয়াস ডেটা নিয়ে কাজ করে, যখন ফিচারের স্কেল একে অপর থেকে অনেক বেশি ভিন্ন হয়, তখন মডেলটি ঠিকভাবে শেখা বা ভবিষ্যদ্বাণী করতে পারে না।

ফিচার স্কেলিং দুটি প্রধান পদ্ধতিতে বিভক্ত:

১. নর্মালাইজেশন (Normalization)

নর্মালাইজেশন (বা Min-Max স্কেলিং) হল একটি পদ্ধতি যা ডেটার প্রতিটি ফিচারকে একটি নির্দিষ্ট পরিসরে (সাধারণত ০ থেকে ১ এর মধ্যে) নিয়ে আসে। এই পদ্ধতিতে, প্রতিটি মানকে তার বর্তমান পরিসরের সর্বনিম্ন মান থেকে সর্বোচ্চ মানের মধ্যে স্কেল করা হয়।

কিভাবে কাজ করে:

নর্মালাইজেশন করার জন্য প্রতিটি ফিচারের মানকে নিচের ফর্মুলা অনুযায়ী ক্যালকুলেট করা হয়:

Xnorm=Xmin(X)max(X)min(X)

এখানে,

  • X হল ফিচারের মৌলিক মান।
  • min(X) হল ঐ ফিচারের সর্বনিম্ন মান।
  • max(X) হল ঐ ফিচারের সর্বোচ্চ মান।
  • Xnorm হল স্কেল করা মান।

যখন ব্যবহার করবেন:

  • যখন ফিচারের মানের পরিসর অনেক বেশি ভিন্ন হতে পারে (যেমন, 1 থেকে 1000 পর্যন্ত)।
  • যখন আপনি একটি মডেল ব্যবহার করছেন যা সেন্ট্রাল টেনডেন্স (Mean) বা ভারিয়েন্সের উপর নির্ভরশীল নয়, যেমন Neural Networks, K-Nearest Neighbors (KNN) এবং Support Vector Machines (SVM)

উদাহরণ:

ধরা যাক, আমরা একটি ডেটাসেটের মধ্যে একটির মধ্যে বয়সের মান ১৮ থেকে ৭০ এবং অন্যটির মধ্যে ইনকাম ১০০০ থেকে ১,০০,০০০ পর্যন্ত। এমন পরিস্থিতিতে নর্মালাইজেশন ব্যবহারের মাধ্যমে স্কেল করে এই মানগুলিকে ০ এবং ১ এর মধ্যে নিয়ে আসা হবে।


২. স্ট্যান্ডার্ডাইজেশন (Standardization)

স্ট্যান্ডার্ডাইজেশন বা Z-score স্কেলিং হল এমন একটি পদ্ধতি যা ডেটাকে এমনভাবে স্কেল করে যে তার মানের গড় (mean) ০ এবং স্ট্যান্ডার্ড ডিভিয়েশন (standard deviation) ১ হয়। এটি ডেটার সেন্ট্রালাইজেশন এবং স্কেলিং উভয়কে একসাথে করে।

কিভাবে কাজ করে:

স্ট্যান্ডার্ডাইজেশন করার জন্য প্রতিটি ফিচারের মানকে নিচের ফর্মুলা অনুযায়ী ক্যালকুলেট করা হয়:

Xstd=Xμσ

এখানে,

  • X হল ফিচারের মৌলিক মান।
  • μ হল ফিচারের গড় (Mean)।
  • σ হল ফিচারের স্ট্যান্ডার্ড ডিভিয়েশন (Standard Deviation)।
  • Xstd হল স্ট্যান্ডার্ডাইজড মান।

যখন ব্যবহার করবেন:

  • যখন আপনার ডেটার গড় এবং বৈচিত্র্য (variance) জানা থাকে এবং আপনি মডেলকে স্কেলিংয়ের জন্য একটি নির্দিষ্ট পদ্ধতির প্রয়োজন, যেমন Logistic Regression, Linear Regression, Principal Component Analysis (PCA) এবং Support Vector Machines (SVM)
  • যখন ডেটার মধ্যে কিছু বড় বৈচিত্র্য (outliers) থাকতে পারে এবং আপনি তাদের প্রভাব কমাতে চান।

উদাহরণ:

ধরা যাক, বয়সের গড় ৪০ এবং স্ট্যান্ডার্ড ডেভিয়েশন ১৫, যদি একটি ব্যক্তি ৫৫ বছর বয়সী হন, তাহলে তার স্ট্যান্ডার্ডাইজড মান হবে:

Xstd=554015=1


কীভাবে নির্বাচিত করবেন - Normalization vs Standardization

  • Normalization: যদি আপনি জানেন যে ডেটার ফিচারগুলির মধ্যে বড় পার্থক্য থাকতে পারে এবং আপনার মডেল দ্রুত শিখবে বা নতুন ফিচারের উপর নির্ভরশীল হবে (যেমন KNN, Neural Networks), তবে নর্মালাইজেশন ব্যবহার করা ভালো।
  • Standardization: যদি আপনার ডেটা গড় এবং বৈচিত্র্য নির্ভরশীল থাকে, এবং আপনি একটি মডেল ব্যবহার করছেন যা গড় ও স্ট্যান্ডার্ড ডেভিয়েশনের উপর নির্ভরশীল (যেমন Linear Regression বা PCA), তাহলে স্ট্যান্ডার্ডাইজেশন বেশি উপযুক্ত।

উপসংহার

ফিচার স্কেলিং মেশিন লার্নিং মডেলকে আরও কার্যকর এবং দ্রুতগতির কাজ করার জন্য গুরুত্বপূর্ণ। নর্মালাইজেশন একটি নির্দিষ্ট সীমার মধ্যে ডেটাকে নিয়ে আসে, যখন স্ট্যান্ডার্ডাইজেশন ডেটার গড় এবং স্ট্যান্ডার্ড ডিভিয়েশন ব্যবহার করে। মডেল এবং ডেটার ধরণ অনুযায়ী ফিচার স্কেলিংয়ের সঠিক পদ্ধতি নির্বাচন করা উচিত।

Content added By
Promotion